Deprecate navicache (#793)
authorRobert Lipe <robertlipe@users.noreply.github.com>
Thu, 16 Dec 2021 03:22:37 +0000 (22:22 -0500)
committerGitHub <noreply@github.com>
Thu, 16 Dec 2021 03:22:37 +0000 (22:22 -0500)
* Deprecate navicache.

15 files changed:
CMakeLists.txt
GPSBabel.pro
deprecated/navicache.cc [new file with mode: 0644]
navicache.cc [deleted file]
reference/format0.txt
reference/format1.txt
reference/format2.txt
reference/format3.txt
reference/help.txt
reference/navicache.xml [deleted file]
reference/navicache~unicsv.txt [deleted file]
testo.d/navicache.test [deleted file]
tools/nuke_format
vecs.h
xmldoc/formats/navicache.xml [deleted file]

index f562b5ec8700daf28bc7dcaec03e77d9705fca67..6a14dbd9cb2787e706aee8967b1b4dc52b25334b 100644 (file)
@@ -88,7 +88,6 @@ set(ALL_FMTS ${MINIMAL_FMTS}
   mtk_locus.cc
   mtk_logger.cc
   mynav.cc
-  navicache.cc
   navilink.cc
   navitel.cc
   osm.cc
index 2d1ebccdcdf4a4a21c906be37a60d9d7e5aa9e2c..457580c5828fd83a81fb3b3d081af7f70cc66647 100644 (file)
@@ -115,7 +115,6 @@ ALL_FMTS = $$MINIMAL_FMTS \
   mtk_locus.cc \
   mtk_logger.cc \
   mynav.cc \
-  navicache.cc \
   navilink.cc \
   navitel.cc \
   osm.cc \
diff --git a/deprecated/navicache.cc b/deprecated/navicache.cc
new file mode 100644 (file)
index 0000000..41aa365
--- /dev/null
@@ -0,0 +1,220 @@
+/*
+    Copyright (C) 2003-2013 Robert Lipe, robertlipe+source@gpsbabel.org
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+ */
+#include "defs.h"
+#include "cet_util.h"
+#include "src/core/file.h"
+#include <QXmlStreamReader>
+
+static char* noretired = nullptr;
+static QString read_fname;
+
+static
+QVector<arglist_t> nav_args = {
+  {
+    "noretired", &noretired, "Suppress retired geocaches",
+    nullptr, ARGTYPE_BOOL, ARG_NOMINMAX, nullptr
+  },
+};
+
+#define MYNAME "navicache"
+#define NC_URL "http://www.navicache.com/cgi-bin/db/displaycache2.pl?CacheID="
+
+static struct
+    nc_type_mapping {
+  geocache_type type;
+  const char* name;
+} nc_type_map[] = {
+  { gt_unknown, "unknown" },
+  { gt_traditional, "normal" },
+  { gt_multi, "Multi-part" },
+  { gt_virtual, "Virtual" },
+  { gt_event, "event" }
+};
+
+static struct
+    nc_container_mapping {
+  geocache_container type;
+  const char* name;
+} nc_container_map[] = {
+  { gc_other, "Unknown" },
+  { gc_micro, "Micro" },
+  { gc_regular, "Normal" },
+  { gc_large, "Large" },
+  { gc_virtual, "Virtual" }
+};
+
+static
+geocache_type
+nc_mktype(const QString& t)
+{
+  int sz = sizeof(nc_type_map) / sizeof(nc_type_map[0]);
+
+  for (int i = 0; i < sz; i++) {
+    if (0 == t.compare(nc_type_map[i].name, Qt::CaseInsensitive)) {
+      return nc_type_map[i].type;
+    }
+  }
+  return gt_unknown;
+}
+
+static
+geocache_container
+nc_mkcont(const QString& t)
+{
+  int sz = sizeof(nc_container_map) / sizeof(nc_container_map[0]);
+
+  for (int i = 0; i < sz; i++) {
+    if (0 == t.compare(nc_container_map[i].name, Qt::CaseInsensitive)) {
+      return nc_container_map[i].type;
+    }
+  }
+  return gc_unknown;
+}
+
+static void
+nav_rd_init(const QString& fname)
+{
+  read_fname = fname;
+}
+
+static void
+NaviReadCache(const QXmlStreamReader& reader)
+{
+  const QXmlStreamAttributes a = reader.attributes();
+  auto* wpt_tmp = new Waypoint;
+  geocache_data* gc_data = wpt_tmp->AllocGCData();
+  if (a.hasAttribute("cache_id")) {
+    int n = a.value("cache_id").toString().toInt();
+    QString fn = QString("N%1").arg(n, 5, 16, QChar('0'));
+    wpt_tmp->shortname = fn;
+
+    UrlLink l(QString(NC_URL) + QString::number(n));
+    wpt_tmp->AddUrlLink(l);
+  }
+  if (a.hasAttribute("name")) {
+    wpt_tmp->description = a.value("name").toString();
+  }
+  if (a.hasAttribute("user_name")) {
+    gc_data->placer = a.value("user_name").toString();
+  }
+
+  if (a.hasAttribute("latitude")) {
+    wpt_tmp->latitude = a.value("latitude").toString().toDouble();
+  }
+  if (a.hasAttribute("longitude")) {
+    wpt_tmp->longitude = a.value("longitude").toString().toDouble();
+  }
+
+  if (a.hasAttribute("difficulty")) {
+    gc_data->diff = a.value("difficulty").toString().toDouble() * 10;
+  }
+  if (a.hasAttribute("terrain")) {
+    gc_data->terr = a.value("terrain").toString().toDouble() * 10;
+  }
+
+  if (a.hasAttribute("cache_type")) {
+    QString t = a.value("cache_type").toString();
+    gc_data->type = nc_mktype(t);
+    if (t == "normal") {
+      wpt_tmp->icon_descr = "Geocache-regular";
+    } else if (t == "multi-part") {
+      wpt_tmp->icon_descr = "Geocache-multi";
+    } else if (t == "moving_travelling") {
+      wpt_tmp->icon_descr = "Geocache-moving";
+    } else {
+      wpt_tmp->icon_descr = QString("Geocache-%-%1").arg(t);
+    }
+  }
+
+  if (a.hasAttribute("hidden_date")) {
+    QString h = a.value("hidden_date").toString();
+    QDateTime hd = QDateTime::fromString(h, "yyyy-MM-dd");
+    wpt_tmp->SetCreationTime(hd);
+  }
+
+  if (a.hasAttribute("retired")) {
+    if (a.value("terrain").toString() == "yes" && noretired) {
+      delete wpt_tmp;
+      return;
+    }
+  }
+
+  if (a.hasAttribute("cache_size")) {
+    gc_data->container = nc_mkcont(a.value("cache_size").toString());
+  }
+
+  if (a.hasAttribute("description")) {
+    gc_data->desc_long.is_html = true;
+    gc_data->desc_long.utfstring = a.value("description").toString();
+  }
+
+  if (a.hasAttribute("comments")) {
+    gc_data->desc_short.is_html = true;
+    gc_data->desc_short.utfstring = a.value("comments").toString();
+  }
+
+
+  waypt_add(wpt_tmp);
+}
+
+static void
+nav_read()
+{
+  QXmlStreamReader reader;
+  gpsbabel::File file(read_fname);
+  file.open(QIODevice::ReadOnly);
+  reader.setDevice(&file);
+
+  while (!reader.atEnd()) {
+    if (reader.tokenType() == QXmlStreamReader::StartElement) {
+      if (reader.name() == u"CacheDetails") {
+        NaviReadCache(reader);
+      }
+    }
+    reader.readNext();
+  }
+  if (reader.hasError())  {
+    fatal(MYNAME ":Read error: %s (%s, line %ld, col %ld)\n",
+          qPrintable(reader.errorString()),
+          qPrintable(file.fileName()),
+          (long) reader.lineNumber(),
+          (long) reader.columnNumber());
+  }
+}
+
+static void
+nav_rd_deinit()
+{
+}
+
+ff_vecs_t navicache_vecs = {
+  ff_type_file,
+  { ff_cap_read, ff_cap_none, ff_cap_none },
+  nav_rd_init,
+  nullptr,
+  nav_rd_deinit,
+  nullptr,
+  nav_read,
+  nullptr,
+  nullptr,
+  &nav_args,
+  CET_CHARSET_UTF8, 0  /* CET-REVIEW */
+  , NULL_POS_OPS,
+  nullptr
+};
diff --git a/navicache.cc b/navicache.cc
deleted file mode 100644 (file)
index 41aa365..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
-    Copyright (C) 2003-2013 Robert Lipe, robertlipe+source@gpsbabel.org
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-
- */
-#include "defs.h"
-#include "cet_util.h"
-#include "src/core/file.h"
-#include <QXmlStreamReader>
-
-static char* noretired = nullptr;
-static QString read_fname;
-
-static
-QVector<arglist_t> nav_args = {
-  {
-    "noretired", &noretired, "Suppress retired geocaches",
-    nullptr, ARGTYPE_BOOL, ARG_NOMINMAX, nullptr
-  },
-};
-
-#define MYNAME "navicache"
-#define NC_URL "http://www.navicache.com/cgi-bin/db/displaycache2.pl?CacheID="
-
-static struct
-    nc_type_mapping {
-  geocache_type type;
-  const char* name;
-} nc_type_map[] = {
-  { gt_unknown, "unknown" },
-  { gt_traditional, "normal" },
-  { gt_multi, "Multi-part" },
-  { gt_virtual, "Virtual" },
-  { gt_event, "event" }
-};
-
-static struct
-    nc_container_mapping {
-  geocache_container type;
-  const char* name;
-} nc_container_map[] = {
-  { gc_other, "Unknown" },
-  { gc_micro, "Micro" },
-  { gc_regular, "Normal" },
-  { gc_large, "Large" },
-  { gc_virtual, "Virtual" }
-};
-
-static
-geocache_type
-nc_mktype(const QString& t)
-{
-  int sz = sizeof(nc_type_map) / sizeof(nc_type_map[0]);
-
-  for (int i = 0; i < sz; i++) {
-    if (0 == t.compare(nc_type_map[i].name, Qt::CaseInsensitive)) {
-      return nc_type_map[i].type;
-    }
-  }
-  return gt_unknown;
-}
-
-static
-geocache_container
-nc_mkcont(const QString& t)
-{
-  int sz = sizeof(nc_container_map) / sizeof(nc_container_map[0]);
-
-  for (int i = 0; i < sz; i++) {
-    if (0 == t.compare(nc_container_map[i].name, Qt::CaseInsensitive)) {
-      return nc_container_map[i].type;
-    }
-  }
-  return gc_unknown;
-}
-
-static void
-nav_rd_init(const QString& fname)
-{
-  read_fname = fname;
-}
-
-static void
-NaviReadCache(const QXmlStreamReader& reader)
-{
-  const QXmlStreamAttributes a = reader.attributes();
-  auto* wpt_tmp = new Waypoint;
-  geocache_data* gc_data = wpt_tmp->AllocGCData();
-  if (a.hasAttribute("cache_id")) {
-    int n = a.value("cache_id").toString().toInt();
-    QString fn = QString("N%1").arg(n, 5, 16, QChar('0'));
-    wpt_tmp->shortname = fn;
-
-    UrlLink l(QString(NC_URL) + QString::number(n));
-    wpt_tmp->AddUrlLink(l);
-  }
-  if (a.hasAttribute("name")) {
-    wpt_tmp->description = a.value("name").toString();
-  }
-  if (a.hasAttribute("user_name")) {
-    gc_data->placer = a.value("user_name").toString();
-  }
-
-  if (a.hasAttribute("latitude")) {
-    wpt_tmp->latitude = a.value("latitude").toString().toDouble();
-  }
-  if (a.hasAttribute("longitude")) {
-    wpt_tmp->longitude = a.value("longitude").toString().toDouble();
-  }
-
-  if (a.hasAttribute("difficulty")) {
-    gc_data->diff = a.value("difficulty").toString().toDouble() * 10;
-  }
-  if (a.hasAttribute("terrain")) {
-    gc_data->terr = a.value("terrain").toString().toDouble() * 10;
-  }
-
-  if (a.hasAttribute("cache_type")) {
-    QString t = a.value("cache_type").toString();
-    gc_data->type = nc_mktype(t);
-    if (t == "normal") {
-      wpt_tmp->icon_descr = "Geocache-regular";
-    } else if (t == "multi-part") {
-      wpt_tmp->icon_descr = "Geocache-multi";
-    } else if (t == "moving_travelling") {
-      wpt_tmp->icon_descr = "Geocache-moving";
-    } else {
-      wpt_tmp->icon_descr = QString("Geocache-%-%1").arg(t);
-    }
-  }
-
-  if (a.hasAttribute("hidden_date")) {
-    QString h = a.value("hidden_date").toString();
-    QDateTime hd = QDateTime::fromString(h, "yyyy-MM-dd");
-    wpt_tmp->SetCreationTime(hd);
-  }
-
-  if (a.hasAttribute("retired")) {
-    if (a.value("terrain").toString() == "yes" && noretired) {
-      delete wpt_tmp;
-      return;
-    }
-  }
-
-  if (a.hasAttribute("cache_size")) {
-    gc_data->container = nc_mkcont(a.value("cache_size").toString());
-  }
-
-  if (a.hasAttribute("description")) {
-    gc_data->desc_long.is_html = true;
-    gc_data->desc_long.utfstring = a.value("description").toString();
-  }
-
-  if (a.hasAttribute("comments")) {
-    gc_data->desc_short.is_html = true;
-    gc_data->desc_short.utfstring = a.value("comments").toString();
-  }
-
-
-  waypt_add(wpt_tmp);
-}
-
-static void
-nav_read()
-{
-  QXmlStreamReader reader;
-  gpsbabel::File file(read_fname);
-  file.open(QIODevice::ReadOnly);
-  reader.setDevice(&file);
-
-  while (!reader.atEnd()) {
-    if (reader.tokenType() == QXmlStreamReader::StartElement) {
-      if (reader.name() == u"CacheDetails") {
-        NaviReadCache(reader);
-      }
-    }
-    reader.readNext();
-  }
-  if (reader.hasError())  {
-    fatal(MYNAME ":Read error: %s (%s, line %ld, col %ld)\n",
-          qPrintable(reader.errorString()),
-          qPrintable(file.fileName()),
-          (long) reader.lineNumber(),
-          (long) reader.columnNumber());
-  }
-}
-
-static void
-nav_rd_deinit()
-{
-}
-
-ff_vecs_t navicache_vecs = {
-  ff_type_file,
-  { ff_cap_read, ff_cap_none, ff_cap_none },
-  nav_rd_init,
-  nullptr,
-  nav_rd_deinit,
-  nullptr,
-  nav_read,
-  nullptr,
-  nullptr,
-  &nav_args,
-  CET_CHARSET_UTF8, 0  /* CET-REVIEW */
-  , NULL_POS_OPS,
-  nullptr
-};
index 75281f4712fa8af3b700e1375f261f3997b5b4a5..e87ab3a7ca7bcccc23bd7b84172f410bab219893 100644 (file)
@@ -86,7 +86,6 @@ mynav trc     MyNav TRC format
 tpg    tpg     National Geographic Topo .tpg (waypoints)
 tpo2   tpo     National Geographic Topo 2.x .tpo
 tpo3   tpo     National Geographic Topo 3.x/4.x .tpo
-navicache              Navicache.com XML
 navigonwpt             Navigon Waypoints
 navilink               NaviGPS GT-11/BGT-11 Download
 sbp    sbp     NaviGPS GT-31/BGT-31 datalogger (.sbp)
index 4af18c9e45674d583499d2e4c26358d659d1a564..b041fb54876939bbaa0129f8ec18766613c10483 100644 (file)
@@ -92,7 +92,6 @@ file  mynav   trc     MyNav TRC format
 file   tpg     tpg     National Geographic Topo .tpg (waypoints)
 file   tpo2    tpo     National Geographic Topo 2.x .tpo
 file   tpo3    tpo     National Geographic Topo 3.x/4.x .tpo
-file   navicache               Navicache.com XML
 file   navigonwpt              Navigon Waypoints
 serial navilink                NaviGPS GT-11/BGT-11 Download
 file   sbp     sbp     NaviGPS GT-31/BGT-31 datalogger (.sbp)
index 387d69e183bb83c2e35e27dce3c85c48670d58fa..4d37d6469b7582bc0fb3b6d16505c09443679986 100644 (file)
@@ -92,7 +92,6 @@ file  --r---  mynav   trc     MyNav TRC format
 file   rw----  tpg     tpg     National Geographic Topo .tpg (waypoints)
 file   --r---  tpo2    tpo     National Geographic Topo 2.x .tpo
 file   r-r-r-  tpo3    tpo     National Geographic Topo 3.x/4.x .tpo
-file   r-----  navicache               Navicache.com XML
 file   rw----  navigonwpt              Navigon Waypoints
 serial rwrwrw  navilink                NaviGPS GT-11/BGT-11 Download
 file   --r---  sbp     sbp     NaviGPS GT-31/BGT-31 datalogger (.sbp)
index 1afba14ea065e980a4f41a309ce793caaed7b0c7..37282d4340b5c7fd783d361386f40b4e08d838b8 100644 (file)
@@ -902,10 +902,6 @@ file       --r---  tpo2    tpo     National Geographic Topo 2.x .tpo       tpo2
        https://www.gpsbabel.org/WEB_DOC_DIR/fmt_tpo2.html
 file   r-r-r-  tpo3    tpo     National Geographic Topo 3.x/4.x .tpo   tpo3
        https://www.gpsbabel.org/WEB_DOC_DIR/fmt_tpo3.html
-file   r-----  navicache               Navicache.com XML       navicache
-       https://www.gpsbabel.org/WEB_DOC_DIR/fmt_navicache.html
-option navicache       noretired       Suppress retired geocaches      boolean                         https://www.gpsbabel.org/WEB_DOC_DIR/fmt_navicache.html#fmt_navicache_o_noretired
-
 file   rw----  navigonwpt              Navigon Waypoints       xcsv
        https://www.gpsbabel.org/WEB_DOC_DIR/fmt_navigonwpt.html
 option navigonwpt      snlen   Max synthesized shortname length        integer         1               https://www.gpsbabel.org/WEB_DOC_DIR/fmt_navigonwpt.html#fmt_navigonwpt_o_snlen
index 6d443e3ab467fd96bf834a2e267e189852ee02c9..09116c9407f17c0ddb081bd238a6ed7f73f5fb7d 100644 (file)
@@ -449,8 +449,6 @@ File Types (-i and -o options):
          datum                 Datum (default=NAD27) 
        tpo2                  National Geographic Topo 2.x .tpo
        tpo3                  National Geographic Topo 3.x/4.x .tpo
-       navicache             Navicache.com XML
-         noretired             (0/1) Suppress retired geocaches 
        navigonwpt            Navigon Waypoints
          snlen                 Max synthesized shortname length 
          snwhite               (0/1) Allow whitespace synth. shortnames 
diff --git a/reference/navicache.xml b/reference/navicache.xml
deleted file mode 100644 (file)
index becb698..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-
-<CACHEDATA>
-   <CacheDetails source='NaviCache'
-          cache_id='2343' 
-          country_code='US'
-          state='AZ'
-          city='Scottsdale'
-          name='Eagle&#39;s Nest' 
-          user_name='Trail Gyspy'
-          hidden_date='2002-01-30' 
-          modified_datetime='' 
-          latitude='33.5735833333333' 
-          longitude='-111.77645' 
-          difficulty='3.0' 
-          terrain='3.0' 
-          retired='no'
-          cache_type='normal'
-          cache_size='normal'
-          handicapped='no'
-          water='no'
-          restrooms='no'
-          parking_lot='yes'
-          pets='yes'
-          fees='no'
-
-          comments=''
-          description='Beautiful view overlooking the valley.  This is a normal sized cache in an ammo can.  It seems to be a popular spot so it is fairly well hidden.  Please be sure to rehide it as you found it.  Hope you enjoy.'
-
-          cluetitle1=''
-          clue1=''
-          cluetitle2=''
-          clue2=''
-          cluetitle3=''
-          clue3=''
-          cluetitle4=''
-          clue4=''
-          cluetitle5=''
-          clue5=''
-          pictitle1=''
-          pic1=''
-          pictitle2=''
-          pic2=''
-          pictitle3=''
-          pic3=''  >
-   </CacheDetails>
-
-   <CacheDetails source='NaviCache'
-          cache_id='2342' 
-          country_code='US'
-          state='AZ'
-          city='Camp Verde'
-          name='Clear Creek Cache' 
-          user_name='Trail Gyspy'
-          hidden_date='2002-03-11' 
-          modified_datetime='' 
-          latitude='34.51755' 
-          longitude='-111.769633333333' 
-          difficulty='2.0' 
-          terrain='2.5' 
-          retired='no'
-          cache_type='normal'
-          cache_size='normal'
-          handicapped='no'
-          water='no'
-          restrooms='no'
-          parking_lot='no'
-          pets='yes'
-          fees='no'
-
-          comments=''
-          description='Placed while camping with Church Youth group.  Area has several &quot;caves&quot; that the kids loved to play in.  Hike to the cache starts from either behind camp hosts campsite or from roadway, or you jump the creek if you park off the road.  Cache is in a coolaid tub containing the usual cache contents.  The area is visited quite often so is fairly well hidden.  Please rehide so noone accidently finds it.  Hint contains location description spoiler.'
-
-          cluetitle1='Location Hint'
-          clue1='Located about 8&#39; up in a hole on rock wall behind a tree.  Several rocks block the view from below.  Easy to climb to.'
-          cluetitle2=''
-          clue2=''
-          cluetitle3=''
-          clue3=''
-          cluetitle4=''
-          clue4=''
-          cluetitle5=''
-          clue5=''
-          pictitle1=''
-          pic1=''
-          pictitle2=''
-          pic2=''
-          pictitle3=''
-          pic3=''  >
-   </CacheDetails>
-
-</CACHEDATA>
diff --git a/reference/navicache~unicsv.txt b/reference/navicache~unicsv.txt
deleted file mode 100644 (file)
index 4d8c740..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-No,Latitude,Longitude,Name,Description,Symbol,Date,Time,URL,Type,Container,Terrain,Difficulty,Placer
-1,33.573583,-111.776450,"N00927","Eagle's Nest","Geocache-regular",2002/01/30,00:00:00,"http://www.navicache.com/cgi-bin/db/displaycache2.pl?CacheID=2343","Traditional Cache","Regular",3.0,3.0,"Trail Gyspy"
-2,34.517550,-111.769633,"N00926","Clear Creek Cache","Geocache-regular",2002/03/11,00:00:00,"http://www.navicache.com/cgi-bin/db/displaycache2.pl?CacheID=2342","Traditional Cache","Regular",2.5,2.0,"Trail Gyspy"
diff --git a/testo.d/navicache.test b/testo.d/navicache.test
deleted file mode 100644 (file)
index 0634f9b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# Navicache.
-#
-gpsbabel -i navicache -f ${REFERENCE}/navicache.xml -o unicsv -F ${TMPDIR}/navi.txt
-compare ${REFERENCE}/navicache~unicsv.txt ${TMPDIR}/navi.txt
index 95997dfc9ffb6f336877168a71aa7c448a19f571..11097a6e2ac3a3fbdd03c0c4543569403ff8faaf 100755 (executable)
@@ -31,12 +31,13 @@ remove_line $1.cc GPSBabel.pro
 remove_line $1.h GPSBabel.pro
 
 remove_manually $1 reference/help.txt
+remove_manually $1 reference/format3.txt
 
 # Take out the boilerplate entries in vecs.h ...
 remove_line_containing extern.*$1 vecs.h
 remove_line_containing Format.*$1 vecs.h
 remove_line_containing include.*$1 vecs.h
-# ... then let a human nerd snip3 the actual table entry awy
+# ... then let a human nerd snip the actual table entry away.
 remove_manually $1 vecs.h
 
 remove_line_containing $1 reference/format0.txt
@@ -47,7 +48,7 @@ git rm -f reference/$1*
 git rm -f xmldoc/formats/$1.xml
 git rm -f xmldoc/formats/options/$1.xml
 git rm -f testo.d/$1.test
-git mv $1.cc deprecated/
-git mv $1.h deprecated/
+[ -f $1.cc ] && git mv $1.cc deprecated/
+[ -f $1.h ] && git mv $1.h deprecated/
 
 # make && ./testo
diff --git a/vecs.h b/vecs.h
index 8a91dd040786c4bbf05b1f04ba7d80c5cd8f8967..f454ea2dab1abe274a8892ff48d158b504e10164 100644 (file)
--- a/vecs.h
+++ b/vecs.h
@@ -63,7 +63,6 @@ extern ff_vecs_t tpo2_vecs;
 extern ff_vecs_t tpo3_vecs;
 extern ff_vecs_t easygps_vecs;
 extern ff_vecs_t saroute_vecs;
-extern ff_vecs_t navicache_vecs;
 extern ff_vecs_t gpl_vecs;
 extern ff_vecs_t text_vecs;
 extern ff_vecs_t html_vecs;
@@ -241,7 +240,6 @@ private:
   LegacyFormat tpo3_fmt {tpo3_vecs};
   LegacyFormat easygps_fmt {easygps_vecs};
   LegacyFormat saroute_fmt {saroute_vecs};
-  LegacyFormat navicache_fmt {navicache_vecs};
 #if SHAPELIB_ENABLED
   ShapeFormat shape_fmt;
 #endif
@@ -457,13 +455,6 @@ private:
       "anr",
       nullptr,
     },
-    {
-      &navicache_fmt,
-      "navicache",
-      "Navicache.com XML",
-      nullptr,
-      nullptr,
-    },
 #if SHAPELIB_ENABLED
     {
       &shape_fmt,
diff --git a/xmldoc/formats/navicache.xml b/xmldoc/formats/navicache.xml
deleted file mode 100644 (file)
index 120c54b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<para>
-  This is the XML format that's used by Navicache.com for
-  their geocaching data.  There are a number of fields in it that are
-  marked "required" but are Navicache-specific, so GPSBabel can not
-  write these files, but we can still read them. 
-  <ulink url="http://www.navicache.com/cgi-bin/ib312a/ikonboard.cgi?act=ST;f=23;t=334">navicache.com</ulink>
-</para>
-